//node 内置模块 url 和 querystring


// url 查询url中的详细参数，域名，协议、查询其中的字符串部分
// url.parse(urlString)查询url信息
// url.format(urlObject)将信息解析成正常的url地址
const url = require("url")
let str = 'https://www.baidu.com:80/api/login?a=1&id=3&name=join&age=20'
let obj = url.parse(str,true)
console.log(obj)

//返回参数
// Url {
//   protocol: 'https:',
//   slashes: true,
//   auth: null,
//   host: 'www.baidu.com:80',
//   port: '80',
//   hostname: 'www.baidu.com',
//   hash: null,
//   search: '?a=1&n=3',
//   query: [Object: null prototype] { a: '1', n: '3' },
//   pathname: '/api/login',
//   path: '/api/login?a=1&n=3',
//   href: 'https://www.baidu.com:80/api/login?a=1&n=3'
// }


// querystring模块用于实现URL参数字符串与参数对象的互相转换，示例如下。
// require("querystring")

//  querystring.parse(str[, sep[, eq[, options]]])转换成对象
//  querystring.stringify(obj[, sep[, eq[, options]]])转换成字符串
const qs = require("querystring")
let str1 = 'a=1&id=3&name=join&age=20';
let obj1 = qs.parse(str1)
console.log(obj1);  //转对象

// a=1&b=2&c=23
console.log(qs.stringify(obj.query));    //转字符串